﻿namespace EasyXaf.LowCode.WorkflowEditors.Models;

public interface INode : IFlowObject
{
    string Caption { get; set; }

    string Comment { get; set; }

    string ImageName { get; }

    string Color { get; }

    NodeViewMode ViewMode { get; set; }

    double TitleViewScale { get; set; }

    double DetailViewScale { get; set; }

    bool HasDetailView { get; }

    bool IsSelected { get; set; }

    bool AllowSelect { get; }

    bool AllowMove { get; }

    bool AllowScale { get; }

    bool AllowCopy { get; }

    bool AllowDelete { get; }

    bool AllowValidate { get; }

    IContainer Container { get; }

    IWorkflow Workflow { get; }

    event EventHandler<bool> SelectionChanged;
}
